27−9スクロ−ルバ−使用例
具体的ソ−スの比較はExcel95RGB番号取得と、
Excel97RGB番号取得参照のこと。
青字はコントロ−ルへ付けた名前
(1) テキストボックスへ色付け
Sub ki97a()
With UserForm1
R = .Scr1.Value
G = .Scr2.Value
B = .Scr3.Value
.ed1.Text = Hex(R)
.ed2.Text = Hex(G)
.ed3.Text = Hex(B)
UserForm1.tx2.BackColor = RGB(R, G, B)
End With
End Sub
' --------------------------------------------------
Sub ki95a()
With DialogSheets("Dialog1")
R = .ScrollBars("scr1").Value
'略
.EditBoxes("ed1").Text = Hex(R)
'略
With .Rectangles("tx2").Interior
.Color = RGB(R, G, B)
End With
End With
Excel95ではコントロ−ル(ボタン・エデッタ・テキスト等)そ種類の指定も
必要で面倒だったが、Excel97ではオブジェクト名を指定すれよい。
(2) テキスの数値でスクロ−ルバ−の位置を変える
Private Sub ed1_Change()
ra = ed1.Text
On Error Resume Next
If "&h" & ra > 255 Then
ra = 0
On Error GoTo 0
Else
ra = Val("&h" & ra)
End If
Scr1.Value = ra
ki97a
End Sub
'ed2・ed2は略
' --------------------------------------------------
Private Sub Scr1_Change()
ki97a
End Sub
'Scr2・Scr3は略
' --------------------------------------------------
Sub ki335r()
ra = DialogSheets("Dialog1").EditBoxes("ed1").Text
On Error Resume Next
If "&h" & ra > 255 Then
ra = 255
On Error GoTo 0
Else
ra = Val("&h" & ra)
End If
DialogSheets("Dialog1").ScrollBars("scr1").Value = ra
ki335a
End Sub
本例のケ−スではスクロ−ルバ−のイベントについては、Excel95ではスクロ−ルバ−へ実行マクロ
を登録し特別にマクロ記述は不要であったが、Excel97では上記のようにイベントプロシ−ジャを
記述。
27−10Windows画面へユ−ザ−フォ−ム表示
・下記例"start1プロシ−ジャ"では初期設定を指定後ユ−ザ−フォ−ムを表示。
・なお、"start1"はクラスモジュ−ルのWorkbook_Openでなく標準モジュ−ルに記述により再実行が
容易になる。
・イベント"Initialize"はオブジェクト(本例はUserForm)が表示される直前に発生。
・Excel自体を最小化することによりユ−ザ−フォ−ムはWindows画面へ表示される。
・最小化したアプリケ−ションウインド(本例はExcel)はアクティブにする必要あり
Private Sub Workbook_Open()
start1
End Sub
-----------------------------------------------------------
Private Sub UserForm_Initialize()
Application.WindowState = xlMinimized
AppActivate "microsoft excel"
End Sub
-----------------------------------------------------------
Sub start1()
ActiveWindow.DisplayGridlines = False
Application.ScreenUpdating = False
' ダイアログ表示
nomm = 1
With UserForm1
.Caption = "ファイル制御 KIcopy2000" & va
.opt1.Value = True
.opt5.Value = True
.opt9.Value = True
.txt1.Text = 0
.txt2.Text = Date
End With
UserForm1.Show
End Sub
'参考:上記はWindowStateへアイコンでExcelを表示するが下記はExcel非表示
-----------------------------------------------------------
Private Sub UserForm_Initialize()
Application.Visible = False
End Sub
-----------------------------------------------------------
27−11チェックボックス
本例は、チェックボックスにマ−クした時、Frame2を
表示し、Frame2の内容を使用できるようにしました。
Private Sub chk11_Change()
If UserForm1.chk11.Value = True Then
fsh = 1
With UserForm1
.Frame2.Visible = True
End With
Else
fsh = 0
With UserForm1
.Frame2.Visible = False
End With
End If
End Sub
27−12イメ−ジ
本例は、条件指定が変わった時同じ場所に別な
イメ−ジを表示する例。

Private Sub opt31_Change()
If UserForm3.opt31.Value = True Then
With UserForm3
.img31.Picture = LoadPicture(phn & "\dbeng31.bmp")
End With
End If
End Sub
Private Sub opt32_Change()
If UserForm3.opt32.Value = True Then
With UserForm3
.img31.Picture = LoadPicture(phn & "\dbeng32.bmp")
End With
End If
End Sub
27−13 Web
本例は、実際の私のHPを貼り付けた例

Sub web()
UserForm1.Show
UserForm1.WebBrowser1.Navigate _
"http://excel-vba.hoops.ne.jp/index.html"
End Sub
通常コントロ−ルツ−ルボックスにには、WebBrowserが表示
されていませんが、VBEのメニュ−から[ツ−ル][その他のコントロ−ル]
を選択し[Microsoft Web Browser]にマ−クを付ければ表示されます。
本例は、Webを表示するだけですが、実際の使用例として「Webページを見ながら
Excelシ−トへ必要事項をメモ書き」、
[サンプル21] KIwebcheckを掲載しています。
目次へ戻る